import argparse
import torch


def get_args():
    parser = argparse.ArgumentParser()
    parser.add_argument("--data_path", type=str, default="data", help="the directory of data")
    parser.add_argument("--split", type=list, default=[0.2, 0.2, 0.6])
    parser.add_argument("--epoches", type=int, default=25)
    parser.add_argument("--backbone",type=str,default='unet_backbone')
    parser.add_argument("--batch_size", type=int, default=32)
    parser.add_argument("--num_workers", type=int, default=8)
    parser.add_argument("--lr", type=float, default=1e-5)
    parser.add_argument("--LR_schedule", type=str, default=None)
    parser.add_argument("--CEL",type=bool,default=True)
    parser.add_argument("--device", type=str, default="cuda" if torch.cuda.is_available() else "cpu")
    parser.add_argument("--amp", type=bool, default=True ,help="using mixed precision to speeed up")
    parser.add_argument("--save_path", type=str, default=None)
    parser.add_argument("--ckpt_path", type=str, default="result/100epoches-None_lrs-False_cel_CSPNET_0.2/checkpoint/best_miou_0.9972.pth")
    parser.add_argument("--input", type=str, default="input")
    parser.add_argument("--output", type=str, default="output")
    return parser.parse_args()
